#ifndef DOCUMENTTYPEDELEGATE_H
#define DOCUMENTTYPEDELEGATE_H
#include <QStyledItemDelegate>
#include<QObject>
class DocumentTypeDelegate : public QStyledItemDelegate
{
    Q_OBJECT
public:
    explicit DocumentTypeDelegate(QObject *parent=nullptr);
    //返回一个 QComboBox 指定挂载的对象 实现自动释放
    QWidget *createEditor(QWidget *parent,
                          const QStyleOptionViewItem &option,
                          const QModelIndex &index) const override;
    //将创建的下拉框就是editor放入我们单元格坐标index的位置
    void setEditorData(QWidget *editor,
                       const QModelIndex &index) const override;
    //用户选择之后把值写回单元格
    void setModelData(QWidget *editor,
                      QAbstractItemModel *model,
                      const QModelIndex &index) const override;
    //让下拉框和我们的单元格尺寸一样
    void updateEditorGeometry(QWidget *editor,
                              const QStyleOptionViewItem &option,
                              const QModelIndex &index) const override;


};

#endif // DOCUMENTTYPEDELEGATE_H
